from config.crypto_config import API_PROMPT_TEMPLATES

class APIInfoService:
    """API信息服务类，管理密码设备API信息"""
    
    def __init__(self):
        self.api_templates = API_PROMPT_TEMPLATES
    
    def get_api_info(self, key):
        """
        获取指定类型的API信息
        
        Args:
            key (str): API类型键值，如"ACCESS_CONTROL"
            
        Returns:
            str: API信息模板，如果不存在则返回None
        """
        try:
            api_key = f"{key}_API_INFO"
            return self.api_templates.get(api_key)
        except:
            return None
    
    def get_all_api_types(self):
        """
        获取所有支持的API类型
        
        Returns:
            list: API类型列表
        """
        api_types = []
        for key in self.api_templates.keys():
            if key.endswith("_API_INFO"):
                api_type = key.replace("_API_INFO", "")
                api_types.append(api_type)
        return api_types
    
    def is_api_type_supported(self, key):
        """
        检查API类型是否支持
        
        Args:
            key (str): API类型键值
            
        Returns:
            bool: 是否支持
        """
        api_key = f"{key}_API_INFO"
        return api_key in self.api_templates 